1. Field of the Invention
The invention relates generally to accessing media content over a network and more specifically to the classification and monitoring of media content.
2. Description of Related Art
The Internet allows digital communication between a server computer and a client computer using various protocols, such as: protocols for the World Wide Web (WWW or Web), such as HTTP (Hyper-Text Transport Protocol), HTML (Hypertext Markup Language) or XML (eXtended Markup Language); protocols for media streams for playing audio or video content, such as MP3 (Motion Picture experts group, audio layer 3) and RM (Real Media); and protocols for wireless applications such as Wireless Application Protocol (WAP).
The WWW often serves as the user front-end for various non-WWW protocols (e.g., media streams and WAP), which are technically Internet services that are not part of the Web. For example, Web pages include text, graphics and access to streaming media resources, such as audio or video content. The user accesses the various content types by means of a browser or a media player, which may be a browser plug-in or a stand-alone application.
A unique Uniform Resource Locator (URL) identifies each computer resource on the Internet. To establish a connection with a particular resource on an Internet server, a user at a client computer sends a request to the URL associated with the desired Internet resource. User URL requests are usually made by typing the URL address directly into an address request box or by selecting a hypertext xe2x80x9chot linkxe2x80x9d referencing that URL. When the desired connection is formed between the Internet server and the client computer, the user is capable of interacting with the contents of that Internet resource.
Audio and video have been commonly accessible from Web pages since the introduction of media players such as RealPlayer(copyright) from RealNetworks(copyright) of Seattle, Wash., or Windows(copyright) Media Player from Microsoft(copyright) of Redmond, Wash., and other similar products. Such media content is usually played using a process called media streaming. Media streaming is a technique for transferring data from a server to a client across a network such that the data is processed and played as a steady and continuous stream. On-demand media streams, such as individual music works, news broadcasts, or program archives, have a fixed playing duration. Live media streams, such as simulcasts of broadcast programming or continuous entertainment services, usually have an unlimited length.
Users generally want to connect with high quality resources that provide the type of entertainment or service of their preference. However, conventional streaming media sources suffer from a variety of deficiencies. If the data cannot be transmitted fast enough between the server and the client due to network delays or user congestion, then short interruptions or garbled fidelity are experienced while the player catches up with the missed content. Furthermore, there is usually an upper limit to the number of simultaneous users that the media site can support, so new users may be denied service if they try to access the URL of the media component. Finally, some media streams may be out of service for a variety of other reasons, including technical problems, content carried on an associated broadcast station but specifically xe2x80x9cblacked outxe2x80x9d from Web streaming by the rights owner, human error, or a decision to no longer provide the Web services.
There are many different Web sites that provide a directory of audio, video or TV resources. Most of these directories are updated only occasionally, so that the directory listings are often substantially out of date due to the rapid pace of change experienced by media stream sites. There are thousands of media servers on the Internet, and users would like to keep up to date with the many highly dynamic changes affecting reception quality, availability, content, and broadcast schedule.
The invention is an automated method and a computer program for periodically evaluating media streams on a network of computers. The method and program determine the availability of various media streams and identify various characteristics of each stream. One embodiment of the method includes the steps of periodically obtaining a first and second group of addresses, attempting to establish communication with each media stream, terminating the connection if the connection was established, and reporting the results. Each address identifies a location of a media stream on the network. The second group of addresses only includes those media streams that were previously identified as being unavailable. The step of attempting to establish communication with each media stream is done to determine a characteristic of the media stream. However, even if communication is not established, that fact alone is valuable information that should be reported. A preferred embodiment of the invention periodically obtains the second group of addresses more frequently than the first group so unavailable media streams are verified more frequently than all other media streams.
Another embodiment of the invention includes the steps of periodically obtaining addresses, attempting to establish connections with the media streams using the addresses, determining the transmission rate of each media stream, and updating records that contain information about the media stream with information concerning whether a connection was made to each media stream and, if a connection was made, reporting the transmission rate.
In another aspect of the invention, a computer program includes a control loop and at least one stream verification routine. The control loop obtains a block of addresses from a database each time verification is required. The stream verification routine first receives an individual address from the control loop, then verifies that the media stream is capable of being accessed, and then delivers the results back to the database. Several different stream verification routines can be used if the available hardware can support simultaneous connections with the media streams.